//
//  LinkedListRealized.h
//  LinkedList
//
//  Created by Xavier on 2023/10/9.
//

#ifndef LinkedListRealized_h
#define LinkedListRealized_h

#include <stdio.h>
#include <stdlib.h>


#endif /* LinkedListRealized_h */

//自定义类型
typedef int SLTDateType;

//定义链表
typedef struct SListNode
{
    SLTDateType data;
    struct SListNode* next;
}SListNode;
typedef SListNode* ListNode;

// 初始化链表
ListNode ListInit();
// 动态申请一个节点
ListNode BuySListNode(SLTDateType x);
// 单链表打印
void SListPrint(ListNode phead);
// 单链表尾插
void SListPushBack(ListNode phead, SLTDateType x);
// 单链表的头插
void SListPushFront(ListNode phead, SLTDateType x);
// 单链表的尾删
void SListPopBack(ListNode phead);
// 单链表头删
void SListPopFront(ListNode phead);
// 单链表查找
ListNode SListFind(ListNode phead, SLTDateType x);
// 单链表在pos位置之前插入x
void SListInsert(ListNode phead, ListNode pos, SLTDateType x);
// 单链表删除pos位置的值
void SListErase(ListNode phead, ListNode pos);
// 合并两个链表
ListNode Combine(ListNode phead1, ListNode phead2);
// 冒泡排序
void Bubble(ListNode phead);
 
